type t
type 'a id

val gen_id: unit -> 'a id
val box: 'a id -> 'a -> t
val unbox: 'a id -> t -> 'a option
